//
//  TestResource.swift
//  MarkDownDemo
//
//  Created by nowcoder on 2024/12/27.
//

import Foundation

enum TestResource {
    // 基础语法示例
    static let basicMarkdown = """
    # Markdown 基础语法
    
    ## 文本格式化
    
    ### 基础格式
    这是一个**粗体**文本示例。
    这是一个*斜体*文本示例。
    这是一个***粗斜体***文本示例。
    这是一个~~删除线~~文本示例。
    这是一个`代码`文本示例。
    
    ### 组合格式
    这是一个**粗体中带*斜体***的示例。
    这是一个*斜体中带**粗体***的示例。
    这是一个~~删除线中带**粗体**~~的示例。
    这是一个**粗体中带~~删除线~~**的示例。
    这是一个***粗斜体中带~~删除线~~***的示例。
    
    ### 段落中的格式
    这是一个普通段落，其中包含了**粗体**、*斜体*、***粗斜体***、
    ~~删除线~~和`代码`等多种格式的组合。你可以在*一个段落*中
    使用**多种样式**来~~突出~~或者*强调*你想要表达的内容。
    
    ### 特殊格式
    * 转义字符: *这不���斜体*
    * 空格转义: 这是一个&nbsp;不间断空格
    * HTML标签: <u>下划线文本</u>
    * 上标: X<sup>2</sup>
    * 下标: H<sub>2</sub>O
    
    ## 分隔线
    
    普通文本
    
    ---
    
    使用短横线
    
    普通文本
    ***
    使用星号
    
    普通文本
    ___
    使用下划线
    
    ## 链接和图片
    
    ### 链接格式
    [普通链接](https://www.example.com)
    [-带标题链接](https://www.example.com "这是标题")
    *[斜体链接](https://www.example.com)*
    **[粗体链接](https://www.example.com)**
    ~~[删除线链接](https://www.example.com)~~
    
    ### 图片格式
    
    ![普通图片](https://picsum.photos/200/100)

    ![带链接的图片](https://picsum.photos/200/100)](https://www.example.com)

    *![斜体描述的图片](https://picsum.photos/200/100)*

    **![粗体描述的图片](https://picsum.photos/200/100)**
    
    ## 行内代码
    
    使用 `print("Hello, World!")` 输出文本。
    使用 `var x = 42` 声明变量。
    使用 `func example() { }` 定义函数。
    
    ## 特殊字符
    
    * 版权符号: &copy;
    * 注册商标: &reg;
    * 商标: &trade;
    * 欧元: &euro;
    * 英镑: &pound;
    * 度数: &deg;
    * 乘号: &times;
    * 除号: &divide;
    """
    
    // 代码块示例
    static let codeBlockMarkdown = """
    # 代码块示例
    
    ## Swift 代码
    
    ```swift
    class Example {
        let greeting: String
        
        init(greeting: String) {
            self.greeting = greeting
        }
        
        func sayHello() {
            print(greeting)
        }
    }
    
    let example = Example(greeting: "Hello, World!")
    example.sayHello()
    ```
    
    ## Python 代码
    
    ```python
    def fibonacci(n):
        if n <= 1:
            return n
        else:
            return fibonacci(n-1) + fibonacci(n-2)
            
    # 测试函数
    for i in range(10):
        print(fibonacci(i))
    ```
    
    ## JSON 示例
    
    ```json
    {
        "name": "John Doe",
        "age": 30,
        "skills": ["Swift", "Python", "JavaScript"],
        "address": {
            "city": "San Francisco",
            "country": "USA"
        }
    }
    ```
    
    ## 代码块样式
    
    ### 默认样式
    ```swift
    print("默认样式代码块")
    ```
    
    ### 无头部样式
    ```no-header
    print("无头部样式代码块")
    ```
    
    ### 自定义头部样式
    ```custom-swift
    // 自定义语言标签和复制按钮
    print("自定义头部样式代码块")
    ```
    
    ### GitHub 风格
    ```github-style
    // GitHub 风格的代码块
    print("GitHub 风格代码块")
    ```
    
    ### Xcode 风格
    ```xcode-style
    // Xcode 风格的代码块
    print("Xcode 风格代码块")
    ```
    
    ### Dracula 风格
    ```dracula-style
    // Dracula 风格的代码块
    print("Dracula 风格代码块")
    ```
    """
    
    // 自定义标签示例
    static let customTagMarkdown = """
    <span class="ncTag">2</span>\n
    
    # 自定义标签示例
    
    ## 引用标签
    
    <span class="ncTag">2</span>\n
    <a class="ncTag" href="https://www.w3school.com.cn">访问w3school.com.cn!</a>\n
    这是一个 <a class="ncTag">自定义标签a标签class="ncTag"</a> 示例。
    
    ## 用户标签
    
    这是一个 <a class="userTag" href="https://www.w3school.com.cn">用户标签</a> 示例。
    
    ## 混合使用
    
    在这个例子中，我们可以同时使用 <a class="ncTag">引用</a> 和 <a class="userTag">@用户</a> 标签。
    
    ## 带属性的标签
    
    <a class="ncTag" href="ref-123">带链接的引用</a> <a class="ncTag" href="user-456">@带链接的用户</a>
    """
    
    // 图片示例
    static let imageMarkdown = """
    # Markdown 图片展示
    
    ## 普通图片
    
    ### 单张图片
    ![风景图](https://picsum.photos/800/400)
    
    ### 多张图片
    ![城市](https://picsum.photos/600/300)
    ![自然](https://picsum.photos/500/300)
    
    ## 带尺寸的图片
    
    ### 大图
    ![大尺寸图片](https://picsum.photos/1200/600)
    
    ### 小图
    ![小尺寸图片](https://picsum.photos/300/150)
    
    ## 带标题的图片
    ![这是一张风景照片](https://picsum.photos/700/350 "美丽的风景")
    """
    
    // 链接示例
    static let linkMarkdown = """
    # Markdown 链接展示
    
    ## 基础链接
    
    [访问示例网站](https://www.example.com)
    
    ## 带标题的链接
    
    [GitHub](https://github.com "访问 GitHub")
    [Apple](https://www.apple.com "访问 Apple")
    
    ## 引用��链接
    
    [引用链接 1][1]
    [引用链接 2][2]
    [引用链接 3][3]
    
    [1]: https://www.example.com/ref1 "第一个引用"
    [2]: https://www.example.com/ref2 "第二个引用"
    [3]: https://www.example.com/ref3 "第三个引用"
    
    ## 自动链接
    
    <https://www.example.com>
    <example@example.com>
    """
    
    // 引用示例
    static let quoteMarkdown = """
    # Markdown 引用展示
    
    ## 基础引用
    
    > 这是一个简单的引用。
    > 可以包含多行内容。
    > 每行都以 > 开头。
    
    ## 嵌套引用
    
    > 第一层引用
    >> 第二层引用
    >>> 第三层引用
    >>>> 第四层引用
    
    ## 带格式的引用
    
    > ### 引用中的标题
    > 
    > - 引用中的列表项 1
    > - 引用中的列表项 2
    > 
    > **粗体文本** 和 *斜体文本*
    > 
    > ```swift
    > // 引用中的代码
    > print("Hello, World!")
    > ```
    
    ## 引用与段落混合
    
    正常段落文本。
    
    > 引用内容
    > 继续引用
    
    返回正常段落。
    """
    
    // 表格示例
    static let tableMarkdown = """
    # Markdown 表格展示
    
    ## 基础表格
    
    | 姓名 | 年龄 | 职业 |
    |------|------|------|
    | 张三 | 25 | 工程师 |
    | 李四 | 28 | 设计师 |
    | 王五 | 32 | 产品经理 |
    
    ## 对齐方式
    
    | 左对齐 | 居中对齐 | 右对齐 |
    |:-------|:--------:|-------:|
    | 左边 | 中间 | 右边 |
    | Left | Center | Right |
    
    ## 复杂表格
    
    | 功能 | 基础版 | 专业版 | 企业版 |
    |------|:------:|:------:|:------:|
    | 基础功能 | ✓ | ✓ | ✓ |
    | 高级功能 | × | ✓ | ✓ |
    | 企业支持 | × | × | ✓ |
    | 价格 | 免费 | $9.99 | $99.99 |
    
    ## 带格式的表格
    
    | 标题 | 描述 | 状态 |
    |------|------|------|
    | **重要** | *紧急* | `进行中` |
    | [链接](https://example.com) | ![图标](https://picsum.photos/20/20) | 完成 |
    """
    
    // 列表示例
    static let listMarkdown = """
    # Markdown 列表展示
    
    ## 无序列表
    
    ### 基础无序列表
    * 苹果
    * 香蕉
    * 橙子
    * 葡萄
    
    ### 嵌套无序列表
    * 水果
        * 苹果
            * 红富士
            * 青苹果
        * 柑橘
            * 橙子
            * 柚子
    * 蔬菜
        * 叶菜类
            * 生菜
            * 菠菜
        * 根茎类
            * 胡萝卜
            * 土豆
    
    ## 有序列表
    
    ### 基础有序列表
    1. 第一步：准备材料
    2. 第二步：阅读说明
    3. 第三步：开始组装
    4. 第四步：检查完成
    
    ### 嵌套有序列表
    1. 项目规划
        1. 需求分析
        2. 技术选型
        3. 团队组建
    2. 开发阶段
        1. 环境搭建
            1. 开发环境
            2. 测试环境
        2. 功能实现
            1. 核心功能
            2. 扩展功能
    
    ## 任务列表
    
    ### 今日任务
    - [x] 完成项目方案
    - [x] 召开团队会议
    - [ ] 编写技术文档
    - [ ] 代码审查
    
    ### 项目里程碑
    - [x] 需求分析阶段
        - [x] 用户调研
        - [x] 需求文档
        - [x] 原型设计
    - [ ] 开发阶段
        - [x] 环境配置
        - [ ] 核心功能
        - [ ] 单元测试
    - [ ] 测试阶段
        - [ ] 功能测试
        - [ ] 性能测试
        - [ ] Bug修复
    
    ## 混合列表
    
    ### 项目文档
    1. 项目概述
        * 背景介绍
        * 目标定位
        * 技术架构
    2. 功能模块
        * 用户系统
            - [x] 登录注册
            - [x] 个人中心
            - [ ] 消息通知
        * 内容系统
            - [x] 文章发布
            - [ ] 评���功能
            - [ ] 内容审核
    3. 技术文档
        * 开发规范
            1. 代码规范
            2. 提交规范
        * 部署文档
            1. 环境要求
            2. 部署步骤
    
    ## 带格式的列表
    
    * **重要任务**：需要立即处理
    * *次要任务*：可以稍后处理
    * `技术任务`需要技术支持
    * [链接任务](https://example.com)：需要外部资源
    
    1. **首要任务**
        * *子任务 1*
        * `子任务 2`
    2. **次要任务**
        * *子任务 A*
        * `子任务 B`
    """
    
    static let interactionMarkdown = """
[点击打开外部链接](https://www.apple.com)\n
[点击打开应用内链接](#internal)\n
[自定义链接处理](custom://example.com)\n
"""
    // 添加交互示例的内容
    static let interactionMarkdown2 = """
    # 文本交互演示
    
    ## 1. 基础文本样式
    这是普通文本，可以包含**粗体**、*斜体*、***粗斜体*** 和 ~~删除线~~ 等样式。
    
    ## 2. 链接交互
    - [点击打开外部链接](https://www.apple.com)
    - [点击打开应用内链接](#internal)
    - [自定义链接处理](custom://example.com)
    
    ## 3. 代码展示
    行内代码示例：`print("Hello, World!")`
    
    代码块示例：
    ```swift
    func handleInteraction() {
        let message = "Hello, Interactive Markdown!"
        print(message)
    }
    ```
    
    ## 4. 列表交互
    1. 第一个可点击项目
    2. 第二个可点击项目
    3. 第三个可点击项目
    
    ## 5. 引用块交互
    > 这是一个可交互的引用块
    > 支持多行文本显示
    > 可以包含[链接](https://www.example.com)
    
    ## 6. 自定义标签交互
    <tag class="ncTag">标签1</tag>
    <tag class="userTag">标签2</tag>
    <tag class="warningTag">警告标签</tag>
    
    ## 7. 图片交互
    点击下面的图片可以查看大图：
    ![示例图片](https://picsum.photos/300/200)
    
    ## 8. 混合交互示例
    这是一个混合了多种交互的段落，包含[链接](https://www.example.com)、
    `行内代码`、**粗体**、*斜体*和<tag class="ncTag">自定义标签</tag>。
    
    ## 9. 表格交互
    | 列1 | 列2 | 列3 |
    |-----|-----|-----|
    |[链接1](https://example.com)|代码示例|<tag class="ncTag">标签</tag>|
    |图片示例|**粗体**|*斜体*|
    
    ## 10. 高亮文本
    这是一段包含==高亮文本==的示例。
    
    > **提示：** 点击不同的元素可以看到不同的交互效果。
    """
}
